Participant info

Agency task: Agency decisions

Model: Agency decisions by VoC

## Mixed Model Anova Table (Type 3 tests, LRT-method)
## 
## Model: stage_1_choice ~ age_z * voc_z * condition_trial + (voc_z * condition_trial || 
## Model:     subject_id)
## Data: agency_model_data
## Df full model: 12
##                        Effect df      Chisq p.value
## 1                       age_z  1       0.04    .840
## 2                       voc_z  1 168.42 ***   <.001
## 3             condition_trial  1       1.52    .217
## 4                 age_z:voc_z  1  10.92 ***   <.001
## 5       age_z:condition_trial  1       0.14    .712
## 6       voc_z:condition_trial  1  48.77 ***   <.001
## 7 age_z:voc_z:condition_trial  1     5.31 *    .021
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## Generalized linear mixed model fit by maximum likelihood (Laplace
##   Approximation) [glmerMod]
##  Family: binomial  ( logit )
## Formula: stage_1_choice ~ age_z * voc_z * condition_trial + (1 + re1.voc_z +  
##     re1.condition_trial + re1.voc_z_by_condition_trial || subject_id)
##    Data: data
## Control: glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 1e+06))
## 
##      AIC      BIC   logLik deviance df.resid 
##  38178.8  38282.6 -19077.4  38154.8    42082 
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -28.0229  -0.4794   0.2265   0.5457  26.6942 
## 
## Random effects:
##  Groups       Name                         Variance Std.Dev.
##  subject_id   (Intercept)                  2.29016  1.5133  
##  subject_id.1 re1.voc_z                    0.48884  0.6992  
##  subject_id.2 re1.condition_trial          0.64461  0.8029  
##  subject_id.3 re1.voc_z_by_condition_trial 0.05051  0.2247  
## Number of obs: 42094, groups:  subject_id, 135
## 
## Fixed effects:
##                             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                  0.94898    0.13154   7.214 5.42e-13 ***
## age_z                       -0.02665    0.13149  -0.203 0.839393    
## voc_z                        1.15265    0.06284  18.343  < 2e-16 ***
## condition_trial             -0.08828    0.07109  -1.242 0.214347    
## age_z:voc_z                  0.21148    0.06282   3.366 0.000762 ***
## age_z:condition_trial       -0.02626    0.07109  -0.369 0.711856    
## voc_z:condition_trial        0.19899    0.02570   7.744 9.63e-15 ***
## age_z:voc_z:condition_trial  0.05987    0.02574   2.326 0.020032 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) age_z  voc_z  cndtn_ ag_z:v_ ag_z:c_ vc_z:_
## age_z        0.001                                            
## voc_z        0.010  0.001                                     
## conditn_trl  0.006 -0.002  0.002                              
## age_z:voc_z  0.001  0.009  0.007  0.000                       
## ag_z:cndtn_ -0.003  0.002  0.000 -0.001  0.001                
## vc_z:cndtn_  0.003  0.000  0.029  0.030 -0.001   0.004        
## ag_z:vc_z:_  0.000  0.001  0.001  0.004  0.023   0.030   0.024

Plot: Sensitivity to the value of choice

Plot: Sensitivity to value of choice with continuous age

Summary stats: Sensitivity to value of control

Agency task: Machine selection

Model: Optimal machine choices across trials by condition and age

## Mixed Model Anova Table (Type 3 tests, LRT-method)
## 
## Model: stage_2_acc ~ age_z * context * condition_trial + (context * 
## Model:     condition_trial || subject_id)
## Data: machine_model_data
## Df full model: 12
##                          Effect df     Chisq p.value
## 1                         age_z  1 18.88 ***   <.001
## 2                       context  1 25.05 ***   <.001
## 3               condition_trial  1 66.49 ***   <.001
## 4                 age_z:context  1      0.26    .612
## 5         age_z:condition_trial  1      1.22    .268
## 6       context:condition_trial  1    3.44 +    .064
## 7 age_z:context:condition_trial  1      1.99    .159
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## Generalized linear mixed model fit by maximum likelihood (Laplace
##   Approximation) [glmerMod]
##  Family: binomial  ( logit )
## Formula: stage_2_acc ~ age_z * context * condition_trial + (1 + re1.context1 +  
##     re1.condition_trial + re1.context1_by_condition_trial ||      subject_id)
##    Data: data
## Control: glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 1e+06))
## 
##      AIC      BIC   logLik deviance df.resid 
##  13066.7  13160.8  -6521.4  13042.7    18640 
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -11.0512   0.0954   0.2009   0.3937   2.4327 
## 
## Random effects:
##  Groups       Name                            Variance Std.Dev.
##  subject_id   (Intercept)                     1.7436   1.3205  
##  subject_id.1 re1.context1                    0.5702   0.7551  
##  subject_id.2 re1.condition_trial             0.3025   0.5500  
##  subject_id.3 re1.context1_by_condition_trial 0.1182   0.3439  
## Number of obs: 18652, groups:  subject_id, 135
## 
## Fixed effects:
##                                Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                     2.32963    0.12060  19.317  < 2e-16 ***
## age_z                           0.53498    0.11947   4.478 7.54e-06 ***
## context1                        0.38956    0.07338   5.309 1.10e-07 ***
## condition_trial                 0.52529    0.05755   9.128  < 2e-16 ***
## age_z:context1                 -0.03839    0.07341  -0.523   0.6010    
## age_z:condition_trial           0.06404    0.05722   1.119   0.2631    
## context1:condition_trial        0.08002    0.04225   1.894   0.0582 .  
## age_z:context1:condition_trial -0.06096    0.04231  -1.441   0.1497    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) age_z  cntxt1 cndtn_ ag_z:1 ag_z:_ cnt1:_
## age_z        0.049                                          
## context1     0.032  0.007                                   
## conditn_trl  0.080  0.016  0.027                            
## ag_z:cntxt1  0.004  0.023  0.073 -0.001                     
## ag_z:cndtn_  0.011  0.065 -0.001  0.089  0.020              
## cntxt1:cnd_  0.023  0.001  0.113  0.070  0.024  0.012       
## ag_z:cnt1:_ -0.003  0.016  0.022  0.011  0.116  0.062  0.135

Plot: Proportion optimal machine selections across age groups and trials

Explicit reward knowledge task

Explicit reward knowledge task: summary stats

Model: Explicit reward knowledge by age and true probabilities

## Mixed Model Anova Table (Type 3 tests, S-method)
## 
## Model: error ~ zTrueProb * zAge + (1 | subject_id)
## Data: explicitKnow.filtered
##           Effect        df         F p.value
## 1      zTrueProb 1, 673.00 22.78 ***   <.001
## 2           zAge 1, 133.00   7.01 **    .009
## 3 zTrueProb:zAge 1, 673.00      0.26    .609
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: error ~ zTrueProb * zAge + (1 | subject_id)
##    Data: data
## 
## REML criterion at convergence: 2763.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.5472 -0.7030 -0.1787  0.4401  4.2139 
## 
## Random effects:
##  Groups     Name        Variance Std.Dev.
##  subject_id (Intercept) 0.1176   0.3429  
##  Residual               1.6465   1.2831  
## Number of obs: 810, groups:  subject_id, 135
## 
## Fixed effects:
##                 Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)      1.56296    0.05389 133.00000  29.005  < 2e-16 ***
## zTrueProb       -0.21530    0.04511 673.00000  -4.772 2.23e-06 ***
## zAge            -0.14272    0.05392 133.00000  -2.647  0.00911 ** 
## zTrueProb:zAge  -0.02307    0.04514 673.00000  -0.511  0.60947    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) zTrPrb zAge 
## zTrueProb   0.000              
## zAge        0.000  0.000       
## zTruPrb:zAg 0.000  0.000  0.000

Plot: Explicit reward knowledge

LS0tCnRpdGxlOiAiRTIgVm9DIEFuYWx5c2VzIFBhcnQgMjogUmVncmVzc2lvbiBBbmFseXNlcyIKZGF0ZTogMS84LzI0Cm91dHB1dDoKICAgIGh0bWxfZG9jdW1lbnQ6CiAgICAgICAgZGZfcHJpbnQ6ICdwYWdlZCcKICAgICAgICB0b2M6IHRydWUKICAgICAgICB0b2NfZmxvYXQ6CiAgICAgICAgICAgIGNvbGxhcHNlZDogZmFsc2UKICAgICAgICAgICAgc21vb3RoX3Njcm9sbDogdHJ1ZQogICAgICAgIG51bWJlcl9zZWN0aW9uczogZmFsc2UKICAgICAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCiAgICAgICAgc2VsZl9jb250YWluZWQ6IHRydWUKLS0tCgpgYGB7ciBjaHVuayBzZXR0aW5ncywgaW5jbHVkZSA9IEZBTFNFfQojIHNldCBjaHVuayBzZXR0aW5ncwprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IEZBTFNFLCAKICAgICAgICAgICAgICAgICAgICAgIGNhY2hlID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmcgPSBGQUxTRSkKa25pdHI6Om9wdHNfY2h1bmskc2V0KGRwaT02MDApCmtuaXRyOjpvcHRzX2tuaXQkc2V0KHJvb3QuZGlyID0gcnByb2pyb290OjpmaW5kX3JzdHVkaW9fcm9vdF9maWxlKCkpCmBgYAoKYGBge3IgbG9hZCBsaWJyYXJpZXMsIGluY2x1ZGUgPSBGfQoKI2xvYWQgbGlicmFyaWVzCmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGdsdWUpCmxpYnJhcnkoYWZleCkKCiNsb2FkIHNjcmlwdHMKc291cmNlKCdhbmFseXNpc19zY3JpcHRzL3ZvY19mdW5jdGlvbnMuUicpCmBgYAoKYGBge3IgaW1wb3J0IGRhdGF9CgojIHJlYWQgaW4gbGVhcm5pbmcgZGF0YQpsZWFybmluZ19kYXRhIDwtIHJlYWRfY3N2KCdkYXRhL3Byb2Nlc3NlZC9sZWFybmluZ19kYXRhLmNzdicpCgojIHJlYWQgaW4gcGFydGljaXBhbnQgYWdlcwpwYXJ0aWNpcGFudF9hZ2VzIDwtIHJlYWRfY3N2KCdkYXRhL3ZvY19zdWJfaW5mby5jc3YnKSAKCiMgam9pbgpsZWFybmluZ19kYXRhIDwtIGlubmVyX2pvaW4obGVhcm5pbmdfZGF0YSwgcGFydGljaXBhbnRfYWdlcywgYnkgPSBjKCdzdWJqZWN0X2lkJykpICU+JQogIG11dGF0ZShhZ2VfZ3JvdXAgPSBjYXNlX3doZW4oYWdlIDwgMTMgfiAnQ2hpbGRyZW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlIDwgMTggJiBhZ2UgPiAxMi45OSB+ICdBZG9sZXNjZW50cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2UgPiAxOCB+ICdBZHVsdHMnKSkKCmxlYXJuaW5nX2RhdGEkYWdlX2dyb3VwIDwtIGZhY3RvcihsZWFybmluZ19kYXRhJGFnZV9ncm91cCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVscyA9IGMoIkNoaWxkcmVuIiwgIkFkb2xlc2NlbnRzIiwgIkFkdWx0cyIpKQoKYGBgCgpgYGB7ciBwcm9jZXNzIGxlYXJuaW5nIGRhdGF9CmxlYXJuaW5nX2RhdGEgPC0gbGVhcm5pbmdfZGF0YSAlPiUKICBtdXRhdGUoZXZfY2hvaWNlID0gY2FzZV93aGVuKGNvbnRleHQgPT0gMCB+IDksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0ID09IDEgfiA3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dCA9PSAyIH4gNSksCiAgICAgICAgIGV2X2NvbXAgPSA1ICsgb2ZmZXIsCiAgICAgICAgIHZvYyA9IGV2X2Nob2ljZSAtIGV2X2NvbXAsCiAgICAgICAgIGJldHRlcl9tYWNoaW5lID0gY2FzZV93aGVuKHJld2FyZF9wcm9iX0wgPiByZXdhcmRfcHJvYl9SIH4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV3YXJkX3Byb2JfTCA8IHJld2FyZF9wcm9iX1IgfiAwLAogICAgICAgICApLAogICAgICAgICBzdGFnZV8yX2FjYyA9IGNhc2Vfd2hlbihzdGFnZV8yX2Nob2ljZSA9PSBiZXR0ZXJfbWFjaGluZSB+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWdlXzJfY2hvaWNlICE9IGJldHRlcl9tYWNoaW5lIH4gMCkpICU+JQogIGdyb3VwX2J5KHN1YmplY3RfaWQsIGNvbnRleHQpICU+JQogIG11dGF0ZShjb25kaXRpb25fdHJpYWwgPSByYW5rKHRyaWFsKSwKICAgICAgICAgYmxvY2sgPSBmbG9vcigodHJpYWwtMSkvMjEgKyAxKSkKCiMgZXhjbHVkZSBmaXJzdC1zdGFnZSBtaXNzZXMgYW5kIGZpcnN0LXN0YWdlIFJUIDwgMTUwIG1zCmxlYXJuaW5nX2RhdGFfZmlsdGVyZWQgPC0gbGVhcm5pbmdfZGF0YSAlPiUKICBmaWx0ZXIoc3RhZ2VfMV9ydCA+IDE1MCkKCiNleGNsdWRlIHBhcnRpY2lwYW50cyB3aG8gbWFkZSBtb3JlIHRoYW4gMzAwIG9mIHRoZSBzYW1lIGFnZW5jeSBkZWNpc2lvbnMKc3RhZ2UxX2RlY2lzaW9ucyA8LSBsZWFybmluZ19kYXRhX2ZpbHRlcmVkICU+JQogIGdyb3VwX2J5KHN1YmplY3RfaWQpICU+JQogIHN1bW1hcml6ZShhZ2VuY3lfY2hvaWNlcyA9IHN1bShzdGFnZV8xX2Nob2ljZSA9PSAxKSkgJT4lCiAgZmlsdGVyKGFnZW5jeV9jaG9pY2VzIDwgMjk5KSAlPiUKICBmaWx0ZXIoYWdlbmN5X2Nob2ljZXMgPiAxNSkKCiNleGNsdWRlIGZyb20gbGVhcm5pbmcgZGF0YQpsZWFybmluZ19kYXRhX2ZpbHRlcmVkIDwtIGxlYXJuaW5nX2RhdGFfZmlsdGVyZWQgJT4lCiAgZmlsdGVyKHN1YmplY3RfaWQgJWluJSBzdGFnZTFfZGVjaXNpb25zJHN1YmplY3RfaWQpCgpgYGAKCiMgUGFydGljaXBhbnQgaW5mbwpgYGB7ciBzdWJqZWN0IGluZm9ybWF0aW9ufQpzdWJfaW5mbyA8LSBsZWFybmluZ19kYXRhX2ZpbHRlcmVkICU+JQogIHVuZ3JvdXAoKSAlPiUKICBzZWxlY3Qoc3ViamVjdF9pZCwgYWdlLCBhZ2VfZ3JvdXAsIGdlbmRlcikgJT4lCiAgdW5pcXVlKCkgJT4lCiAgZ3JvdXBfYnkoYWdlX2dyb3VwKSAlPiUKICBzdW1tYXJpemUoTiA9IG4oKSwgCiAgICAgICAgICAgIG1pbl9hZ2UgPSBtaW4oYWdlLCBuYS5ybSA9IFQpLAogICAgICAgICAgICBtYXhfYWdlID0gbWF4KGFnZSwgbmEucm0gPSBUKSwKICAgICAgICAgICAgbWVhbl9hZ2UgPSBtZWFuKGFnZSwgbmEucm0gPSBUKSwKICAgICAgICAgICAgc2RfYWdlID0gc2QoYWdlLCBuYS5ybSA9IFQpLAogICAgICAgICAgICBuX2ZlbWFsZSA9IHN1bShnZW5kZXIgPT0gJ0ZlbWFsZScpLAogICAgICAgICAgICBuX21hbGUgPSBzdW0oZ2VuZGVyID09ICdNYWxlJyksCiAgICAgICAgICAgIG5fb3RoZXIgPSBzdW0oZ2VuZGVyID09ICdPdGhlcicpKQpzdWJfaW5mbwoKYGBgCgoKIyBBZ2VuY3kgdGFzazogQWdlbmN5IGRlY2lzaW9ucyAKIyMgTW9kZWw6IEFnZW5jeSBkZWNpc2lvbnMgYnkgVm9DCmBgYHtyIGFnZW5jeSBtb2RlbH0KIyBzZWxlY3QgcmVsZXZhbnQgdmFyaWFibGVzIAphZ2VuY3lfbW9kZWxfZGF0YSA8LSBsZWFybmluZ19kYXRhX2ZpbHRlcmVkICU+JQogIHNlbGVjdChzdWJqZWN0X2lkLCBzdGFnZV8xX2Nob2ljZSwgdm9jLCBjb25kaXRpb25fdHJpYWwsIGJsb2NrLCB0cmlhbCwgYWdlLCBhZ2VfZ3JvdXApCgojIyBSRUdSRVNTSU9OIE1PREVMICMjCiN6IHNjb3JlIGNvbnRpbnVvdXMgdmFyaWFibGVzCmFnZW5jeV9tb2RlbF9kYXRhJHN1YmplY3RfaWQgPC0gZmFjdG9yKGFnZW5jeV9tb2RlbF9kYXRhJHN1YmplY3RfaWQpCmFnZW5jeV9tb2RlbF9kYXRhJHZvY196IDwtIHNjYWxlX3RoaXMoYWdlbmN5X21vZGVsX2RhdGEkdm9jKQphZ2VuY3lfbW9kZWxfZGF0YSRjb25kaXRpb25fdHJpYWwgPC0gc2NhbGVfdGhpcyhhZ2VuY3lfbW9kZWxfZGF0YSRjb25kaXRpb25fdHJpYWwpCmFnZW5jeV9tb2RlbF9kYXRhJGFnZV96IDwtIHNjYWxlX3RoaXMoYWdlbmN5X21vZGVsX2RhdGEkYWdlKQoKI3J1biBtb2RlbAphZ2VuY3lfbW9kZWwgPC0gbWl4ZWQoc3RhZ2VfMV9jaG9pY2UgfiBhZ2VfeiAqIHZvY196ICogY29uZGl0aW9uX3RyaWFsICsgKHZvY196ICogY29uZGl0aW9uX3RyaWFsIHx8IHN1YmplY3RfaWQpLAogICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGFnZW5jeV9tb2RlbF9kYXRhLAogICAgICAgICAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJMUlQiLAogICAgICAgICAgICAgICAgICAgICAgZXhwYW5kX3JlID0gVCwKICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9Z2xtZXJDb250cm9sKG9wdGltaXplcj0iYm9ieXFhIiwgb3B0Q3RybD1saXN0KG1heGZ1bj0xZTYpKSkKCiNzaG93IG1vZGVsIHJlc3VsdHMKYWdlbmN5X21vZGVsCnN1bW1hcnkoYWdlbmN5X21vZGVsKQpgYGAKCiMjIFBsb3Q6IFNlbnNpdGl2aXR5IHRvIHRoZSB2YWx1ZSBvZiBjaG9pY2UKYGBge3Igdm9jIHBsb3QsIGZpZy5oZWlnaHQgPSA0LCBmaWcud2lkdGggPSA3LCB1bml0ID0gImluIn0KIyMgUExPVCAjIwphZ2VuY3lfc3ViX21lYW5zIDwtIGFnZW5jeV9tb2RlbF9kYXRhICU+JSAKICBtdXRhdGUodGFza19oYWxmID0gY2FzZV93aGVuKHRyaWFsIDwgMTU4IH4gIkZpcnN0IEhhbGYgb2YgVGFzayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWFsID4gMTU3IH4gIlNlY29uZCBIYWxmIG9mIFRhc2siKSkgJT4lCiAgZ3JvdXBfYnkodGFza19oYWxmLCB2b2MsIHN1YmplY3RfaWQsIGFnZV9ncm91cCkgJT4lCiAgc3VtbWFyaXplKG1lYW5fc3ViX2FnZW5jeSA9IG1lYW4oc3RhZ2VfMV9jaG9pY2UsIG5hLnJtID0gVCkpCgphZ2VuY3lfbWVhbnMgPC0gYWdlbmN5X3N1Yl9tZWFucyAlPiUgCiAgZ3JvdXBfYnkodGFza19oYWxmLCB2b2MsIGFnZV9ncm91cCkgJT4lCiAgc3VtbWFyaXplKG1lYW5fYWdlbmN5ID0gbWVhbihtZWFuX3N1Yl9hZ2VuY3ksIG5hLnJtID0gVCksCiAgICAgICAgICAgIHNlX2FnZW5jeSA9IHNkKG1lYW5fc3ViX2FnZW5jeSAvIHNxcnQobigpKSkpCgphZ2VuY3lfcGxvdCA8LSBnZ3Bsb3QoYWdlbmN5X21lYW5zLCBhZXMoeCA9IHZvYywgeSA9IG1lYW5fYWdlbmN5LCBjb2xvciA9IGFnZV9ncm91cCkpICsKICBmYWNldF93cmFwKH50YXNrX2hhbGYpICsKICBnZW9tX3BvaW50KGFlcyhjb2xvciA9IGFnZV9ncm91cCkpICsgCiAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbiA9IG1lYW5fYWdlbmN5IC0gc2VfYWdlbmN5LCB5bWF4ID0gbWVhbl9hZ2VuY3kgKyBzZV9hZ2VuY3kpLCB3aWR0aCA9IC4xKSArIAogIGdlb21fbGluZSgpICsKICB2b2NfdGhlbWUoKSArIAogIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXM9YygiIzg0MzQ3QyIsICIjQjQwNDI0IiwgIiNFQjZEMUUiKSwgbmFtZSA9ICJBZ2UgR3JvdXAiKSArCiAgeGxhYigiVmFsdWUgb2YgQ2hvaWNlIChWb0MpIikgKwogIHlsYWIoIlByb3BvcnRpb24gQWdlbmN5IENob2ljZXMiKSArCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gLjUsIGxpbmV0eXBlID0gImRhc2hlZCIpICsKICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9ICJkYXNoZWQiKQphZ2VuY3lfcGxvdApgYGAKCgojIyBQbG90OiBTZW5zaXRpdml0eSB0byB2YWx1ZSBvZiBjaG9pY2Ugd2l0aCBjb250aW51b3VzIGFnZSAKYGBge3Igdm9jIHBsb3QgY29udGludW91cyBhZ2UsIGZpZy5oZWlnaHQgPSAzLjksIGZpZy53aWR0aCA9IDMsIHVuaXQgPSAiaW4ifQoKI3J1biBtb2RlbCB3aXRob3V0IGFnZSB0byBnZXQgcmFuZG9tIGVmZmVjdHMgZm9yIGVhY2ggcGFydGljaXBhbnQKYWdlbmN5X2dsbWVyIDwtIG1peGVkKHN0YWdlXzFfY2hvaWNlIH4gIHZvY196ICogY29uZGl0aW9uX3RyaWFsICsgKHZvY196ICogY29uZGl0aW9uX3RyaWFsIHwgc3ViamVjdF9pZCksCiAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gYWdlbmN5X21vZGVsX2RhdGEsIAogICAgICAgICAgICAgICAgICAgICAgZmFtaWx5ID0gYmlub21pYWwsIAogICAgICAgICAgICAgICAgICAgICAgbWV0aG9kID0gIkxSVCIsCiAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPWdsbWVyQ29udHJvbChvcHRpbWl6ZXI9ImJvYnlxYSIsb3B0Q3RybD1saXN0KG1heGZ1bj0xZTYpKSwKICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA9ICJtZXJNb2QiKSAKCiNnZXQgZml4ZWQgZWZmZWN0IG9mIHpWb0MKVm9DX2ZpeGVkZWZmIDwtIGFzLmRhdGEuZnJhbWUoY29lZihzdW1tYXJ5KGFnZW5jeV9nbG1lcikpKSRFc3RpbWF0ZVsyXQpWb0NfaW50X2ZpeGVkZWZmIDwtIGFzLmRhdGEuZnJhbWUoY29lZihzdW1tYXJ5KGFnZW5jeV9nbG1lcikpKSRFc3RpbWF0ZVs0XQoKI2dldCByYW5kb20gZWZmZWN0cwpWb0NfZWZmZWN0cyA8LSByYW5lZihhZ2VuY3lfZ2xtZXIpJHN1YmplY3RfaWQgJT4lCiAgICByb3duYW1lc190b19jb2x1bW4odmFyID0gInN1YmplY3RfaWQiKQoKI2NvbWJpbmUgd2l0aCBhZ2UKVm9DX3N1YkVmZmVjdHMgPC0gYWdlbmN5X21vZGVsX2RhdGEgJT4lCiAgICBzZWxlY3Qoc3ViamVjdF9pZCwgYWdlKSAlPiUgCiAgICB1bmlxdWUoKSAlPiUKICAgIGxlZnRfam9pbihWb0NfZWZmZWN0cywgYnkgPSBjKCJzdWJqZWN0X2lkIikpICU+JQogICAgbXV0YXRlKHpWb0NGdWxsID0gdm9jX3ogKyBWb0NfZml4ZWRlZmYsIAogICAgICAgICAgIGludEZ1bGwgPSBgdm9jX3o6Y29uZGl0aW9uX3RyaWFsYCArIFZvQ19pbnRfZml4ZWRlZmYpCgojcGxvdCBhZ2UgYnkgVm9DIGVmZmVjdApWb0NfcGxvdF9jb250aW51b3VzQWdlIDwtIGdncGxvdChWb0Nfc3ViRWZmZWN0cywgYWVzKHggPSBhZ2UsIHkgPSB6Vm9DRnVsbCkpICsKICAgIGdlb21fcG9pbnQoY29sb3IgPSAiI0VCNkQxRSIpICsgCiAgICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iLCBjb2xvciA9ICIjODQzNDdDIiwgZmlsbCA9ICIjODQzNDdDIikgKwogICAgdm9jX3RoZW1lKCkgKyAKICAgIHhsYWIoIkFnZSIpICsKICAgIHlsYWIoIlZvQyBFZmZlY3QiKSAKVm9DX3Bsb3RfY29udGludW91c0FnZQoKI3Bsb3QgYWdlIGJ5IFZvQyB4IHRyaWFsIGVmZmVjdApWb0NfcGxvdF9jb250aW51b3VzQWdlVHJpYWwgPC0gZ2dwbG90KFZvQ19zdWJFZmZlY3RzLCBhZXMoeCA9IGFnZSwgeSA9IGludEZ1bGwpKSArCiAgICBnZW9tX3BvaW50KGNvbG9yID0gIiNFQjZEMUUiKSArIAogICAgZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIiwgY29sb3IgPSAiIzg0MzQ3QyIsIGZpbGwgPSAiIzg0MzQ3QyIpICsKICAgIHZvY190aGVtZSgpICsgCiAgICB4bGFiKCJBZ2UiKSArCiAgICB5bGFiKCJWb0MgeCBUcmlhbCBFZmZlY3QiKSAKVm9DX3Bsb3RfY29udGludW91c0FnZVRyaWFsCmBgYAoKCgojIyBTdW1tYXJ5IHN0YXRzOiBTZW5zaXRpdml0eSB0byB2YWx1ZSBvZiBjb250cm9sCmBgYHtyIHZvYyBzdW1tYXJ5IHN0YXRzfQoKIyBXaGF0IHByb3BvcnRpb24gb2YgdHJpYWxzIGRpZCBwYXJ0aWNpcGFudHMgY2hvb3NlIGFnZW5jeSB3aGVuIFZvQyB3YXMgMD8KVm9DX3plcm9fbWVhbnNfc3ViIDwtIGxlYXJuaW5nX2RhdGFfZmlsdGVyZWQgJT4lIAogICAgZmlsdGVyKHZvYyA9PSAwKSAlPiUKICAgIGdyb3VwX2J5KHN1YmplY3RfaWQsIGFnZV9ncm91cCkgJT4lCiAgICBzdW1tYXJpemUobWVhblN1YkFnZW5jeSA9IG1lYW4oc3RhZ2VfMV9jaG9pY2UsIG5hLnJtID0gVCkpCgpWb0NfemVyb19tZWFucyA8LSBWb0NfemVyb19tZWFuc19zdWIgJT4lCiAgdW5ncm91cCgpICU+JQogIHN1bW1hcml6ZShtZWFuQWdlbmN5ID0gbWVhbihtZWFuU3ViQWdlbmN5LCBuYS5ybSA9IFQpLAogICAgICAgICAgICAgIHNlQWdlbmN5ID0gc2QobWVhblN1YkFnZW5jeSAvIHNxcnQobigpKSkpClZvQ196ZXJvX21lYW5zCmBgYAoKCgojIEFnZW5jeSB0YXNrOiBNYWNoaW5lIHNlbGVjdGlvbgojIyBNb2RlbDogT3B0aW1hbCBtYWNoaW5lIGNob2ljZXMgYWNyb3NzIHRyaWFscyBieSBjb25kaXRpb24gYW5kIGFnZQpgYGB7ciBtYWNoaW5lIHNlbGVjdGlvbiBkZWNpc2lvbnN9CiMgc2VsZWN0IHZhcmlhYmxlcyBmb3IgaW5jbHVzaW9uIGluIG1peGVkLWVmZmVjdHMgbW9kZWwgKG5vIGFnZSBmb3Igbm93KQptYWNoaW5lX21vZGVsX2RhdGEgPC0gbGVhcm5pbmdfZGF0YV9maWx0ZXJlZCAlPiUKICBmaWx0ZXIoc3RhZ2VfMV9jaG9pY2UgPT0gMSkgJT4lCiAgZmlsdGVyKGNvbnRleHQgPCAyKSAlPiUKICBzZWxlY3Qoc3ViamVjdF9pZCwgc3RhZ2VfMl9hY2MsIGNvbnRleHQsIGNvbmRpdGlvbl90cmlhbCwgYmxvY2ssIGFnZSwgYWdlX2dyb3VwKSAlPiUKICBkcm9wX25hKCkKCiMjIFJFR1JFU1NJT04gTU9ERUwgIyMKI3ogc2NvcmUgY29udGludW91cyB2YXJpYWJsZXMKbWFjaGluZV9tb2RlbF9kYXRhJHN1YmplY3RfaWQgPC0gZmFjdG9yKG1hY2hpbmVfbW9kZWxfZGF0YSRzdWJqZWN0X2lkKQptYWNoaW5lX21vZGVsX2RhdGEkY29udGV4dCA8LSBmYWN0b3IobWFjaGluZV9tb2RlbF9kYXRhJGNvbnRleHQpCm1hY2hpbmVfbW9kZWxfZGF0YSRjb25kaXRpb25fdHJpYWwgPC0gc2NhbGVfdGhpcyhtYWNoaW5lX21vZGVsX2RhdGEkY29uZGl0aW9uX3RyaWFsKQptYWNoaW5lX21vZGVsX2RhdGEkYWdlX3ogPC0gc2NhbGVfdGhpcyhtYWNoaW5lX21vZGVsX2RhdGEkYWdlKQoKI3J1biBtb2RlbAptYWNoaW5lX21vZGVsIDwtIG1peGVkKHN0YWdlXzJfYWNjIH4gYWdlX3ogKiBjb250ZXh0ICogY29uZGl0aW9uX3RyaWFsICsgKGNvbnRleHQgKiBjb25kaXRpb25fdHJpYWwgfHwgc3ViamVjdF9pZCksCiAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gbWFjaGluZV9tb2RlbF9kYXRhLAogICAgICAgICAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJMUlQiLAogICAgICAgICAgICAgICAgICAgICAgZXhwYW5kX3JlID0gVCwKICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9Z2xtZXJDb250cm9sKG9wdGltaXplcj0iYm9ieXFhIiwgb3B0Q3RybD1saXN0KG1heGZ1bj0xZTYpKSkKCiNzaG93IG1vZGVsIHJlc3VsdHMKbWFjaGluZV9tb2RlbApzdW1tYXJ5KG1hY2hpbmVfbW9kZWwpCmBgYAoKIyMgUGxvdDogUHJvcG9ydGlvbiBvcHRpbWFsIG1hY2hpbmUgc2VsZWN0aW9ucyBhY3Jvc3MgYWdlIGdyb3VwcyBhbmQgdHJpYWxzCmBgYHtyIHBsb3QgYmFuZGl0IGNob2ljZXMgYWNyb3NzIHRyaWFscywgd2lkdGggPSA3LCBoZWlnaHQgPSA0LCB1bml0ID0gImluIn0KCiMjIFBMT1QgIyMKbWFjaGluZV9zZWxlY3Rpb25fc3ViX21lYW5zIDwtIG1hY2hpbmVfbW9kZWxfZGF0YSAlPiUKICBncm91cF9ieShjb250ZXh0LCBibG9jaywgc3ViamVjdF9pZCwgYWdlX2dyb3VwKSAlPiUgCiAgc3VtbWFyaXplKHN1Yl9hY2MgPSBtZWFuKHN0YWdlXzJfYWNjLCBuYS5ybSA9IFQpKQoKbWFjaGluZV9zZWxlY3Rpb25fbWVhbnMgPC0gbWFjaGluZV9zZWxlY3Rpb25fc3ViX21lYW5zICU+JQogIGdyb3VwX2J5KGNvbnRleHQsIGJsb2NrLCBhZ2VfZ3JvdXApICU+JSAKICBzdW1tYXJpemUobWVhbl9hY2MgPSBtZWFuKHN1Yl9hY2MpLAogICAgICAgICAgICBzZSA9IHNkKHN1Yl9hY2MpL3NxcnQobigpKSkKCm1hY2hpbmVfc2VsZWN0aW9uX3Bsb3QgPC0gZ2dwbG90KG1hY2hpbmVfc2VsZWN0aW9uX21lYW5zLCBhZXMoeD1ibG9jaywgeT1tZWFuX2FjYywgY29sb3I9ZmFjdG9yKGNvbnRleHQpKSkgKwogIGZhY2V0X3dyYXAofmFnZV9ncm91cCkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDMpICsKICBnZW9tX2ppdHRlcihkYXRhID0gbWFjaGluZV9zZWxlY3Rpb25fc3ViX21lYW5zLCAgYWVzKHg9YmxvY2ssIHk9c3ViX2FjYywgY29sb3I9ZmFjdG9yKGNvbnRleHQpKSwgc2l6ZSA9IC41KSArCiAgZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIiwgYWVzKGZpbGwgPSBmYWN0b3IoY29udGV4dCkpKSArCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gLjUsIGxpbmV0eXBlPSJkYXNoZWQiKSArCiAgeWxhYigiUHJvcG9ydGlvbiBPcHRpbWFsIE1hY2hpbmUgU2VsZWN0aW9ucyIpICsKICB4bGFiKCJCbG9jayIpICsKICBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gYyg0LCA4LCAxMikpICsKICBzY2FsZV9maWxsX21hbnVhbChuYW1lPSJDb250ZXh0IiwKICAgICAgICAgICAgICAgICAgICBsYWJlbHM9YygiOTAvMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICI3MC8zMCIpLAogICAgICAgICAgICAgICAgICAgIHZhbHVlcz1jKGNvbG9yMSwgY29sb3IzKSwgCiAgICAgICAgICAgICAgICAgICAgZ3VpZGUgPSBndWlkZV9sZWdlbmQocmV2ZXJzZT1UUlVFKSkgKwogIHNjYWxlX2NvbG9yX21hbnVhbChuYW1lPSJDb250ZXh0IiwKICAgICAgICAgICAgICAgICAgICAgbGFiZWxzPWMoIjkwLzEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjcwLzMwIiksCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1jKGNvbG9yMSwgY29sb3IzKSwKICAgICAgICAgICAgICAgICAgICAgZ3VpZGUgPSBndWlkZV9sZWdlbmQocmV2ZXJzZT1UUlVFKSkgKwogIHZvY190aGVtZSgpICsKICB0aGVtZShzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIpKQptYWNoaW5lX3NlbGVjdGlvbl9wbG90CmBgYAoKCgojIEV4cGxpY2l0IHJld2FyZCBrbm93bGVkZ2UgdGFzayAKIyMgRXhwbGljaXQgcmV3YXJkIGtub3dsZWRnZSB0YXNrOiBzdW1tYXJ5IHN0YXRzCmBgYHtyIGV4cGxpY2l0IGtub3dsZWRnZSB0YXNrfQoKIyBSZWFkIGluIGRhdGEKZXhwbGljaXRLbm93IDwtIHJlYWRfY3N2KCdkYXRhL3Byb2Nlc3NlZC9leHBsaWNpdF9kYXRhLmNzdicpICU+JQogICAgZmlsdGVyKHN1YmplY3RfaWQgJWluJSBzdGFnZTFfZGVjaXNpb25zJHN1YmplY3RfaWQpCgojY29tYmluZSB3aXRoIGFnZQpleHBsaWNpdEtub3cgPC0gZnVsbF9qb2luKGV4cGxpY2l0S25vdywgcGFydGljaXBhbnRfYWdlcywgYnkgPSBjKCJzdWJqZWN0X2lkIikpIAoKZXhwbGljaXRLbm93ICU+JSAKICBncm91cF9ieShzdWJqZWN0X2lkLCBhZ2UpICU+JSAKICBzdW1tYXJpemUobSA9IG1lYW4oZXJyb3IpKSAlPiUgCiAgdW5ncm91cCgpICU+JSAKICBzdW1tYXJpemUobWVhbkVyciA9IG1lYW4obSwgbmEucm09VCksIHNkID0gc2QobSwgbmEucm0gPSBUKSkKYGBgCgojIyBNb2RlbDogRXhwbGljaXQgcmV3YXJkIGtub3dsZWRnZSBieSBhZ2UgYW5kIHRydWUgcHJvYmFiaWxpdGllcwpgYGB7ciBleHBsaWNpdCBrbm93bGVkZ2UgbW9kZWx9CgojcmUtc2NhbGUgYWdlIGFuZCB6VHJ1ZVByb2IKZXhwbGljaXRLbm93LmZpbHRlcmVkIDwtIGV4cGxpY2l0S25vdyAlPiUKICAgIHNlbGVjdChzdWJqZWN0X2lkLCBhZ2UsIHRydWVfcHJvYiwgZXJyb3IpICU+JQogICAgZHJvcF9uYSgpCgpleHBsaWNpdEtub3cuZmlsdGVyZWQkekFnZSA8LSBzY2FsZShleHBsaWNpdEtub3cuZmlsdGVyZWQkYWdlKQpleHBsaWNpdEtub3cuZmlsdGVyZWQkelRydWVQcm9iIDwtIHNjYWxlKGV4cGxpY2l0S25vdy5maWx0ZXJlZCR0cnVlX3Byb2IpCgojIHJ1biBtb2RlbApleHBsaWNpdEtub3dfZXJyb3JieVRydWVQcm9iQWdlLm1peGVkIDwtIG1peGVkKGVycm9yIH4gelRydWVQcm9iKnpBZ2UgKyAoMXxzdWJqZWN0X2lkKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGV4cGxpY2l0S25vdy5maWx0ZXJlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QgPSAiUyIpIApleHBsaWNpdEtub3dfZXJyb3JieVRydWVQcm9iQWdlLm1peGVkCnN1bW1hcnkoZXhwbGljaXRLbm93X2Vycm9yYnlUcnVlUHJvYkFnZS5taXhlZCkKYGBgCgojIyBQbG90OiBFeHBsaWNpdCByZXdhcmQga25vd2xlZGdlCmBgYHtyIHBsb3QgZXhwbGljaXQga25vd2xlZGdlfQoKZXhwbGljaXRLbm93IDwtIGV4cGxpY2l0S25vdyAlPiUKICBtdXRhdGUoYWdlX2dyb3VwID0gY2FzZV93aGVuKGFnZSA8IDEzIH4gJ0NoaWxkcmVuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZSA8IDE4ICYgYWdlID4gMTIuOTkgfiAnQWRvbGVzY2VudHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlID4gMTggfiAnQWR1bHRzJykpCgpleHBsaWNpdEtub3ckYWdlX2dyb3VwIDwtIGZhY3RvcihleHBsaWNpdEtub3ckYWdlX2dyb3VwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWxzID0gYygiQ2hpbGRyZW4iLCAiQWRvbGVzY2VudHMiLCAiQWR1bHRzIikpCgojIHBsb3QgcmVzcG9uc2UgYnkgYmFuZGl0CmV4cGxpY2l0S25vdyAlPiUKICBkcm9wX25hKCkgJT4lCiAgICBnZ3Bsb3QoLiwgYWVzKHg9ZmFjdG9yKHRydWVfcHJvYiksIHk9cmVzcG9uc2UsIGZpbGw9YWdlX2dyb3VwKSkgKwogICAgZ2VvbV9ib3hwbG90KCkgKwogICAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gYyhjb2xvcjEsIGNvbG9yMiwgY29sb3IzKSwgbmFtZSA9ICJBZ2UgR3JvdXAiKSArCiAgICB5bGFiKCJSZXBvcnRlZCBSZXdhcmQgUHJvYmFiaWxpdHkiKSArCiAgICB4bGFiKCJUcnVlIFJld2FyZCBQcm9iYWJpbGl0eSIpICsKICAgIHNjYWxlX3hfZGlzY3JldGUobGFiZWxzID0gYygiMTAlIiwgIjMwJSIsICI1MCUiLCAiNzAlIiwgIjkwJSIpKSArCiAgICBzY2FsZV95X2NvbnRpbnVvdXMoYnJlYWtzID0gYygxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCksIAogICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCIxMCUiLCAiMjAlIiwgIjMwJSIsICI0MCUiLCAiNTAlIiwgIjYwJSIsICI3MCUiLCAiODAlIiwgIjkwJSIsICIxMDAlIikpICsKICAgIHZvY190aGVtZSgpCmBgYAo=